CONFIG -= qt

TEMPLATE = lib
DEFINES += LIBPANDABASE_LIBRARY

CONFIG += c++11


# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    ../../../framework/base/app_engine/app_engine.cpp \
    ../../../framework/base/com/client_requester.cpp \
    ../../../framework/base/com/service_provider.cpp \
    ../../../framework/base/core/errors.cpp \
    ../../../framework/base/core/function_executor.cpp \
    ../../../framework/base/core/ini_configure.cpp \
    ../../../framework/base/core/ini_file.cpp \
    ../../../framework/base/core/json_reader.cpp \
    ../../../framework/base/core/json_value.cpp \
    ../../../framework/base/core/json_writer.cpp \
    ../../../framework/base/core/log.cpp \
    ../../../framework/base/core/plugin_manager.cpp \
    ../../../framework/base/core/shared_memory.cpp \
    ../../../framework/base/core/thread_pool.cpp \
    ../../../framework/base/core/utils.cpp \
    ../../../framework/base/per/file_accessor_impl.cpp \
    ../../../framework/base/per/file_storage.cpp \
    ../../../framework/base/per/key_value_storage.cpp \
    ../../../framework/base/platform/posix/directory_posix.cpp \
    ../../../framework/base/platform/posix/ipc_client_impl_posix.cpp \
    ../../../framework/base/platform/posix/ipc_service_impl_posix.cpp \
    ../../../framework/base/platform/posix/shared_library_posix.cpp \
    ../../../framework/base/platform/posix/shared_memory_impl_posix.cpp \
    ../../../framework/base/platform/posix/vfs_posix.cpp \
    ../../../framework/base/platform/windows/directory_msvc.cpp \
    ../../../framework/base/platform/windows/ipc_client_impl_msvc.cpp \
    ../../../framework/base/platform/windows/ipc_service_impl_msvc.cpp \
    ../../../framework/base/platform/windows/shared_library_msvc.cpp \
    ../../../framework/base/platform/windows/shared_memory_impl_msvc.cpp \
    ../../../framework/base/platform/windows/vfs_msvc.cpp \
    ../../../framework/base/sig/signal_manager.cpp \
    ../../../framework/base/sys/deserializer.cpp \
    ../../../framework/base/sys/ipc_client_requester.cpp \
    ../../../framework/base/sys/ipc_packet.cpp \
    ../../../framework/base/sys/ipc_service_provider.cpp \
    ../../../framework/base/sys/message.cpp \
    ../../../framework/base/sys/property.cpp \
    ../../../framework/base/sys/property_impl.cpp \
    ../../../framework/base/sys/serializer.cpp \
    ../../../framework/base/sys/sys_utils.cpp \
    ../../../framework/base/sys/system_property_impl.cpp

HEADERS += \
    ../../../framework/base/platform/windows/ipc_socket_utils_msvc.h \
    ../../../include/panda/app/app_engine.h \
    ../../../include/panda/com/client_requester.h \
    ../../../include/panda/com/com_types.h \
    ../../../include/panda/com/service_provider.h \
    ../../../include/panda/core/component.h \
    ../../../include/panda/core/directory.h \
    ../../../include/panda/core/errors.h \
    ../../../include/panda/core/function_executor.h \
    ../../../include/panda/core/ini_configure.h \
    ../../../include/panda/core/ini_file.h \
    ../../../include/panda/core/internal/shared_memory_impl.h \
    ../../../include/panda/core/json.h \
    ../../../include/panda/core/log.h \
    ../../../include/panda/core/plugin.h \
    ../../../include/panda/core/plugin_manager.h \
    ../../../include/panda/core/shared_library.h \
    ../../../include/panda/core/shared_memory.h \
    ../../../include/panda/core/thread_pool.h \
    ../../../include/panda/core/types.h \
    ../../../include/panda/core/utils.h \
    ../../../include/panda/core/vfs.h \
    ../../../include/panda/per/file_accessor.h \
    ../../../include/panda/per/file_storage.h \
    ../../../include/panda/per/internal/file_accessor_impl.h \
    ../../../include/panda/per/key_value_storage.h \
    ../../../include/panda/sig/signal_manager.h \
    ../../../include/panda/sys/deserializer.h \
    ../../../include/panda/sys/internal/property_impl.h \
    ../../../include/panda/sys/internal/system_property_impl.h \
    ../../../include/panda/sys/ipc_client.h \
    ../../../include/panda/sys/ipc_client_requester.h \
    ../../../include/panda/sys/ipc_packet.h \
    ../../../include/panda/sys/ipc_service.h \
    ../../../include/panda/sys/ipc_service_provider.h \
    ../../../include/panda/sys/ipc_types.h \
    ../../../include/panda/sys/message.h \
    ../../../include/panda/sys/property.h \
    ../../../include/panda/sys/serializer.h \
    ../../../include/panda/sys/sys_types.h \
    ../../../include/panda/sys/sys_utils.h


# Default rules for deployment.
unix {
    target.path = /usr/lib
}
!isEmpty(target.path): INSTALLS += target


#add by hand
win32{
DEFINES  -= UNICODE
DEFINES += CORE_DLL_EXPORT
DEFINES += COM_DLL_EXPORT
DEFINES += SYS_DLL_EXPORT
}

uinx{
DEFINES += USE_POSIX_DLL_API
DEFINES += HAVE_POSIX_SHM_API=1
}

qnx{
DEFINES += USE_POSIX_DLL_API
DEFINES += HAVE_POSIX_SHM_API=1
}


INCLUDEPATH += ../../../include

CONFIG(debug, debug|release){
DESTDIR = ../../debug
OBJECTS_DIR = debug/obj/$$TARGET
MOC_DIR     = debug/moc/$$TARGET
RCC_DIR     = debug/res/$$TARGET
UI_DIR      = debug/ui/$$TARGET
}

CONFIG(release, debug|release){
DESTDIR = ../../release
OBJECTS_DIR = release/obj/$$TARGET
MOC_DIR     = release/moc/$$TARGET
RCC_DIR     = release/res/$$TARGET
UI_DIR      = release/ui/$$TARGET
}

message("OUT_DIR:" $$OUT_PWD)
message("OBJ_DIR:" $$OBJECTS_DIR)
message("MOC_DIR:" $$MOC_DIR)
message("RCC_DIR:" $$RCC_DIR)
message("UI_DIR:"  $$UI_DIR)
message("TARGET_OUT_DIR:" $$DESTDIR)
message("TARGET:" $$TARGET)
